clojure.core のベクタに関する var
Clojure におけるベクタは、clojure.lang.IPersistentVector インタフェースを実装したインスタンス
関数
vec: 引数の任意のコレクションをベクタに変換する
code:clj
Java の配列は変更できないようにコピーして返される vector:引数に渡された値を要素とする新しいベクタを返す
code:clj
引数を渡さない場合、空のベクタを返す
code:clj
(vector) []
vector?: 引数が IPersistentVector か
code:clj
;; (false true false false)
;; (false false false false)
vector-of: 指定した基本型の新しいベクタを返す
より具体的には、第 1 引数で渡した :int、:long、:float、:double、:byte、:short、:char、:boolean のいずれかの基本型で構成された新しいベクタを返す
code:clj
(vector? (vector-of :int)) ; true
オプションで、1 つ以上の要素を指定して初期化することが可能
code:clj
(vector-of :int 1 2 3) ; 1 2 3 生成されたベクタは通常のベクタと同じインタフェースを持つが、値は内部で ボクシング されない code:clj
(type 1) ; clojure.lang.PersistentVector (type (conj (vector-of :int 1))) ; clojure.core.Vec